<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>权限</title>
	<link type="text/css" rel="stylesheet" href="<%=request.getContextPath()%>/js/dhtmlxtree/dhtmlxtree.css"  />
	<script  src="<%=request.getContextPath()%>/js/dhtmlxtree/dhtmlxcommon.js"></script>
	<script  src="<%=request.getContextPath()%>/js/dhtmlxtree/dhtmlxtree.js"></script>

  </head>
  
<body>
<center>
<div id="treebox" style="width:280px;height:450px;background-color:#fff;border:1px solid Silver;"></div>
<input type="button" value="显示选中" onclick="treeClick()" />
<input type="button" value="展开/合并" onclick="closeopen()" />
<input type="button" value="显示/隐藏" onclick="hidenshow()" />
</center>
<script>
			tree = new dhtmlXTreeObject("treebox","100%","100%",0);  //创建新对象
			tree.setImagePath("codebase/imgs/csh_bluebooks/");  //加载图片
			tree.enableCheckBoxes(true);  //是否允许选中
			tree.enableDragAndDrop(false); //是否支持拖曳操作
			tree.enableThreeStateCheckboxes(true); //允许三种状态的复选框（全选、不选、部分选中）
			//tree.enableTreeLines(true);  //设置是否显示树线，默认为显示（true）
			//tree.enableTreeImages(true);  //设置是否允许显示树图片，默认为显示（true）
			tree.enableHighlighting(true);  //设置是否允许选中节点名称高亮显
			
			//tree.enableThreeStateCheckboxes(true);
			tree.setStdImages("book_titel.gif","tombs.gif","iconSafe.gif");  //设置节点图片，没有子节点时的图片，节点关闭时的图片，节点打开时的图片

			
			tree.attachEvent("onClick",treeClick);  //点击事件
			
			tree.loadXML("tree3.xml");  //加载XML文件
			tree.closeAllItems(0);  //3.0默认是全部展开的，这段代码通过其方法来使其全部合并
			//tree.autoScroll;
			
			
			var data = new Array();
			function treeClick(currentNodeId)
			{
				//alert(tree.getOpenState("books"));

				//alert(tree.getParentId(currentNodeId));  //获取父节点ID
				//alert(tree.getItemText(currentNodeId));  //获取节点名称
				//tree.setUserData(currentNodeId,"url","aaa");  //设置用户自定义数据
				//alert(tree.getUserData(currentNodeId, "url"));  //获取用户自定义数据，貌似只能得到设置的数据，而不能得到XML中的用户自定义数据
				//tree.getAllCheckedBranches();  //得到所有选中的节点的ID，很有用
				alert(tree.getAllCheckedBranches());  //获取所有被选中节点id，包括第三中状态的节点（部分选中的节点）
				//alert(tree.getAllChecked());  //获取所有被选中节点id，不包括第三中状态的节点（部分选中的节点）
			
			
			//						if (document.getElementById("currentNodeId").checked == true)
			//						{
			//							alert(currentNodeId);
			//						}
				//data.input
			}
			
			//自定义方法
			//					dhtmlXTreeObject.prototype.getFirstNodeId =function()
			//					{
			//						var tempId = this.rootId;
			//						var temp=this._globalIdStorageFind(tempId);
			//						if(temp)return temp.childNodes[0].id;
			//						else return "";
			//					};
			
			//var aa = "<?xml version='1.0' encoding='UTF-8'?> <tree id='0'> <item text='基本信息' id='books'  im0='tombs.gif' im1='tombs.gif' im2='iconSafe.gif' call='1' select='1'></item></tree>";
			//					tree.loadXMLString(aa);  //加载XML字符串
			//					tree._openItem(0);
			//alert(tree.getAllChecked());
			//					alert(tree.onCheckBoxClick(tree.getAllChecked()));
			//alert(tree.getAllFatItems);
			
			
			
			//					var data = new Array();
			//					data = tree.checkArray;
			//					data = getAllChecked();
			//					for (var i=0; i<data.length; i++)
			//					{
			//						alert(data[i]);
			//					}

			var state = 0;
			function closeopen()
			{
				if(state%2 == 0)
				{
					tree._xopenAll(tree._globalIdStorageFind('0'));  //0，是XML中配置的根节点ID，和创建对象时最后一个参数要一致
				}
				else
				{
					tree._xcloseAll(tree._globalIdStorageFind('0'));
				}
				state++;
			}
			
			function hidenshow()
			{
				tree._HideShow(tree._globalIdStorageFind('0'),0);  //显示或隐藏树	
			}
				
</script>
</body>
</html>
